<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head th:replace="_fragment :: head(~{::title})">
    <meta charset="UTF-8">
    <!--调整缩放，方便移动端-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学员信息</title>

    <!--semantic ui 的 css-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css">

    <!--自己定义的 css-->
    <link rel="stylesheet" href="../static/css/me.css">

</head>
<body>
<!--导航-->
<!--
    inverted : 颜色反转，加上就是黑色
    attached : 贴附，加上导航条就没有圆角
    m-padded-tb-mini : 自定义的 css ，表示导航栏菜单的上下内间距调整小一点
    segment : 一条类似导航栏的带子
-->
<nav th:replace="_fragment :: menu(2)" class="ui inverted segment attached m-padded-tb-mini m-shadow-small">
    <!--放在 container 里可以让四周都留点空隙-->
    <div class="ui container">
        <!--
            secondary : 相当于一个背景色的样式
            stackable : 表示可堆叠的，在移动端时，里面的元素会有序堆在一起，一般与 menu ，grid 等连用
        -->
        <div class="ui inverted secondary stackable menu">
            <!--teal : 相当于一个字体颜色，绿色-->
            <h2 class="ui teal header item">驾校管理系统</h2>
            <!--在 ws 中可以快速写标签，例如： i.home.icon + tab键 = <i class="home icon"></i>-->
            <!--
                item : 与上面的 menu 相对应
                m-mobile-hide : 自定义的 css ，在移动端时隐藏
                m-item : 没有任何样式作用，仅用于 js 作为选择器
            -->
            <!--管理员管理-->
            <a href="#" class="m-item item m-mobile-hide">管理员管理</a>

            <!--学员管理-->
            <div class="ui dropdown item m-item m-mobile-hide">
                <div class="text">
                    学员管理
                </div>
                <i class="dropdown icon"></i>
                <!--menu 中包含下拉菜单项-->
                <div class="menu">
                    <a href="#" class="item">学员信息</a>
                    <a href="#" class="item">学员交费</a>
                    <a href="#" class="item">学员训练</a>
                    <a href="#" class="item">学员成绩</a>
                </div>
            </div>

            <!--教练管理-->
            <div class="ui dropdown item m-item m-mobile-hide">
                <div class="text">
                    教练管理
                </div>
                <i class="dropdown icon"></i>
                <!--menu 中包含下拉菜单项-->
                <div class="menu">
                    <a href="#" class="item">教练信息</a>
                    <a href="#" class="item active">车辆信息</a>
                </div>
            </div>

            <!--右边-->
            <div class="right m-item item m-mobile-hide menu">
                <!--拥有下拉菜单的头像框-->
                <!--
                    dropdown item : 代表一个下拉菜单
                -->
                <div class="ui dropdown item">
                    <div class="text">
                        <img class="ui avatar image" src="https://picsum.photos/id/1/100/100">管理员
                    </div>
                    <i class="dropdown icon"></i>
                    <!--menu 中包含下拉菜单项-->
                    <div class="menu">
                        <a href="#" class="item">注销</a>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <!--用于移动端折叠导航栏的按钮-->
    <!--
        m-right-top : 自定义的 css，将元素至于右上角
        m-mobile-show : 自定义的 css ，在移动端时显示，在通常情况下隐藏
        menu toggle : 没有任何样式作用，仅用于 js 作为选择器
    -->
    <a href="#" class="ui black menu toggle icon button m-right-top m-mobile-show">
        <i class="sidebar icon"></i>
    </a>

</nav>

<!--中间内容-->
<!--
    m-container : 自定义css，使其比原定的 container 窄
-->
<div class="m-container m-padded-tb-big">
    <div class="ui container">
        <!--搜索表单-->
        <div class="ui secondary segment form">
            <input type="hidden" name="page">
            <div class="inline fields">
                <div class="field">
                    <input type="text" name="name" placeholder="学员姓名">
                </div>
                <div class="field">
                    <button type="button" id="search-btn" class="ui mini teal basic button"><i class="search icon"></i>搜索</button>
                </div>
            </div>
        </div>

            <!--数据表格-->
            <!--
                table : 表格的基本样式
                celled ： 加上网格线
            -->
            <form id="batchdelete-form" action="#" th:action="@{/student/batchdelete}" method="post" class="ui form">
                <div id="table-container">
                    <table th:fragment="studentList" class="ui celled table">
                        <thead>
                        <tr>
                            <th>
                                <div class="ui checkbox fitted">
                                    <input type="checkbox" id="all-check"><label></label>
                                </div>
                            </th>
                            <th>学员编号</th>
                            <th>学员姓名</th>
                            <th>学员年龄</th>
                            <th>学员性别</th>
                            <th>学习车型</th>
                            <th>负责教练</th>
                            <th>电话号码</th>
                            <th>报名时间</th>
                            <th>信息更新时间</th>
                            <th>操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <tr th:each="student : ${page.content}">
                            <td>
                                <div class="ui checkbox fitted">
                                    <input type="checkbox" name="ids" th:value="${student.id}"><label></label>
                                </div>
                            </td>
                            <td th:text="${student.no}">202011</td>
                            <td th:text="${student.name}">王五</td>
                            <td th:text="${student.age}">20</td>
                            <td th:text="${student.sex}">男</td>
                            <td th:text="${student.teacher == null || student.teacher.car == null} ? '暂无' : ${student.teacher.car.type}">c1</td>
                            <td th:text="${student.teacher} != null ? ${student.teacher.name} : '暂无'">王五</td>
                            <td th:text="${student.phone}">1345677532</td>
                            <td th:text="${#dates.format(student.createTime, 'yyyy-MM-dd')}">2017-10-12</td>
                            <td th:text="${#dates.format(student.updateTime, 'yyyy-MM-dd HH:mm')}">2017-10-12 9:12</td>
                            <td>
                                <a href="#" th:href="@{/student/input/{id}(id=${student.id})}" class="ui mini teal basic button">编辑</a>
                                <a href="#" th:href="@{/student/delete/{id}(id=${student.id})}" class="ui mini red basic button">删除</a>
                            </td>
                        </tr>
                        </tbody>
                        <tfoot>
                        <tr>
                            <!--
                                colspan="8" : 将 8 列合并成 1 列
                            -->
                            <th colspan="11">
                                <!--分页按钮-->
                                <!--
                                    pagination menu : 分页按钮的基本样式
                                    right floated : 靠右浮动
                                -->
                                <div class="ui mini pagination menu" th:if="${page.totalPages} > 1">
                                    <a onclick="page(this)" th:attr="data-page=${page.number}-1" class="  item" th:unless="${page.first}">上一页</a>
                                    <a onclick="page(this)" th:attr="data-page=${page.number}+1" class=" item" th:unless="${page.last}">下一页</a>
                                </div>
                                <button id="batch-delete" type="button" class="ui mini right floated red basic submit button">批量删除</button>
                                <a href="#" th:href="@{/student/input}" class="ui mini right floated teal basic button">新增</a>
                            </th>
                        </tr>
                        </tfoot>
                    </table>
                </div>
            </form>

        <!--后台信息-->
        <!--
            th:unless="${#strings.isEmpty(message)} : 当 message 不为空时就显示
        -->
        <div class="ui success message" th:unless="${#strings.isEmpty(message)}">
            <i class="close icon"></i>
            <div class="header">提示：</div>
            <p th:text="${message}">恭喜，操作成功！</p>
        </div>
    </div>
</div>

<!--/*/<th:block th:replace="_fragment :: script">/*/-->
<!--jquery 的 js-->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script>

<!--semantic ui 的 js-->
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
<!--/*/</th:block>/*/-->

<!--自定义的 js-->
<script>

    // 顶部导航栏折叠
    $('.menu.toggle').click(function () {
        // 如果类中有 m-mobile-hide ，则去掉，否则加上
        $('.m-item').toggleClass('m-mobile-hide');
    });

    $('.ui.dropdown').dropdown({
        on: 'click'     // 鼠标悬浮就弹出菜单
    });

    // 消息提示关闭初始化
    $('.message .close').on('click', function () {  // 当点击关闭按钮时
        $(this).closest('.message')     // 关闭
            .transition('fade');        // 指定动画
    });

    /*
    *   当页面进行局部刷新后（ajax），之前在局部刷新区域绑定的事件就会消失，所以绑定事件的时候要用 $(document).on('事件', "选择器", function () {});
    *   在 jquery 1.7 之前，使用的是 $("选择器").live('事件', function () {});
    */

    // 全选功能
    $(document).on('click', "#all-check", function () {
        if ($("#all-check").prop('checked') == true){
            $("[name='ids']").prop('checked', true)
        }
        if ($("#all-check").prop('checked') == false){
            $("[name='ids']").prop('checked', false)
        }
        isBatchDeleteDisabled();
    });

    // 批量删除按钮点击事件
    $(document).on('click', '#batch-delete', function () {
        $("#batchdelete-form").submit();
    });

    $(document).on('click', "input[name='ids']", function () {
        isBatchDeleteDisabled();
    });

    function isBatchDeleteDisabled() {
        if($("input[name='ids']:checked").length <= 1){
            $('#batch-delete').addClass("disabled");
        }else{
            $('#batch-delete').removeClass("disabled");
        }
    }

    // 将分页数据和搜索条件一起传递到后端
    function page(obj) {
        // 获取到自定义的 page 属性的值，将其设置为隐藏域的 value
        $("[name='page']").val($(obj).data("page"));
        loaddata();
    }

    // 搜索点击事件
    $('#search-btn').click(function () {
        $("[name='page']").val(0);
        loaddata();
    });

    // 表单提交后，更新表格内容
    function loaddata() {
        // load() 方法从服务器加载数据，并把返回的数据放置到指定的元素中，在后端会返回 blogList 片段，会更新 id 为 table-container 的 div
        $("#table-container").load("/student/search", {     // 请求路径
            name: $("[name='name']").val(),                   // 请求参数，（对象）json，表单的内容
            page : $("[name='page']").val()
        });
    }

</script>
</body>
</html>